package com.swanclouds.model.systems;

import com.swanclouds.model.DeviceEntity;
import com.swanclouds.model.common.redfish.Status;

/**
 * @author 张立强
 *
 */
public interface Volume extends DeviceEntity {

    /**
     * 逻辑盘的容量
     * @return getCapacityBytes
     */
    Long getCapacityBytes();

    /**
     * 逻辑盘所属控制器ID
     * @return getRaidControllerID
     */
    Integer getRaidControllerID();

    /**
     * 逻辑盘 Raid 级别
     * @return getVolumeRaidLevel
     */
    String getVolumeRaidLevel();

    /**
     * 逻辑盘当前读策略
     * @return getCurrentReadPolicy
     */
    String getCurrentReadPolicy();

    /**
     * 逻辑盘当前写策略
     * @return getCurrentWritePolicy
     */
    String getCurrentWritePolicy();

    /**
     * 逻辑盘当前cache 策略
     * @return getCurrentCachePolicy
     */
    String getCurrentCachePolicy();

    /**
     * 逻辑盘访问策略
     * @return getAccessPolicy
     */
    String getAccessPolicy();

    /**
     * 逻辑盘的状态
     * @return getStatus
     */
    Status getStatus();
}
